Conversation
Add an optional defaultCertificate reference to IngressOperatorSpec (shared by HostedCluster and HostedControlPlane) so managed services can supply a custom TLS certificate for the default ingress controller: - Add IngressDefaultCertificateReference with a CEL rule validating the secret name as an RFC 1123 DNS subdomain, plus MinLength/MaxLength bounds. - Add the IngressDefaultCertificateSynced condition type and its reasons (SecretNotFound, InvalidCertificateSecret, PlatformNotSupported). - Document that a guest cluster-admin override of the ingress controller certificate takes precedence over this field. - Regenerate deepcopy and the featuregated CRD manifests. Signed-off-by: David Eads <deads@redhat.com> Commit-Message-Assisted-by: Claude (via Claude Code) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> (cherry picked from commit 2d05470)
Regenerated output for the ingress defaultCertificate field and the IngressDefaultCertificateSynced condition: - applyconfiguration clients for IngressDefaultCertificateReference and IngressOperatorSpec. - Installed CRD manifests for hostedclusters and hostedcontrolplanes. - Vendored copy of the api module. Signed-off-by: David Eads <deads@redhat.com> Commit-Message-Assisted-by: Claude (via Claude Code) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> (cherry picked from commit aa8e527)
…t status Sync the user-provided ingress default certificate secret from the HostedCluster namespace into the control plane namespace and surface the outcome: - Report the IngressDefaultCertificateSynced condition via optimistic-lock status patching; degrade gracefully (no reconcile failure) on a missing or malformed source secret, preserving the previously synced certificate. - Skip the sync on IBM Cloud (PlatformNotSupported) and when the ingress capability is disabled, since no ingress controller consumes the certificate. - When the certificate is unset, clean up the stale synced secret and condition, short-circuiting the common path before any re-Get/DeepCopy. - Annotate the referenced secret before validation and index HostedClusters by the referenced secret name so a delete+recreate re-enqueues the owner promptly. - Also invoke the sync from the legacy reconcile path. - Add unit tests for the sync and the secret-referencing enqueue mapper. Signed-off-by: David Eads <deads@redhat.com> Commit-Message-Assisted-by: Claude (via Claude Code) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> (cherry picked from commit d346163)
…ficate in HCCO Propagate the user-provided default certificate into the hosted cluster: - When a custom certificate is configured, HCCO sources default-ingress-cert from the synced service-provider secret; otherwise it falls back to the CPO-generated wildcard. - Do not fail reconciliation (do not degrade the HostedCluster) when the synced secret has not landed yet, and treat IBM Cloud as having no custom certificate. - Add the ServiceProviderDefaultIngressServingCert manifest and thread DefaultCertificate through the ingress params. - Add unit tests for certificate-source selection and params. Signed-off-by: David Eads <deads@redhat.com> Commit-Message-Assisted-by: Claude (via Claude Code) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> (cherry picked from commit 408113b)
- Add a v2 lifecycle test covering propagation, rotation, TLS handshake, the IngressDefaultCertificateSynced condition, source-secret deletion, revert to the wildcard, and a malformed-source negative case. Wire it into the Azure public group and skip it on Azure until the ingress endpoint is reachable from the build farm. - Add envtest cases for the defaultCertificate name (CEL, MinLength, MaxLength). - Add an IngressOperatorSpec serialization round-trip test and move GenerateCustomCertificate to test/e2e/v2/util to satisfy the e2eutilallowlist. Signed-off-by: David Eads <deads@redhat.com> Commit-Message-Assisted-by: Claude (via Claude Code) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> (cherry picked from commit 004ae9b)
Regenerate the API reference and aggregated docs for the defaultCertificate field and the IngressDefaultCertificateSynced condition. Signed-off-by: David Eads <deads@redhat.com> Commit-Message-Assisted-by: Claude (via Claude Code) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> (cherry picked from commit 01dee99)
… disabled Assert that both destination secrets and the synced condition remain absent after configuring a valid source certificate. Skip the enabled-ingress lifecycle tests safely when ingress is disabled. Signed-off-by: David Eads <deads@redhat.com> (cherry picked from commit 57221be)
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@deads2k: This pull request references CNTRLPLANE-4150 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
|
said it didn't finish, not that it failed /retest |
|
/test 4-23-e2e-v2-aws |
|
/approve |
|
Scheduling tests matching the |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: deads2k, muraee The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@deads2k: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
backport #9132
per the AI
Conflicts resolved in five files:
Passed: make update, affected API/controller/unit tests, ingress envtests, E2E v2 compilation, and diff checks. Cluster E2E execution remains for CI.